package com.wu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wu.pojo.Comments;
import com.wu.pojo.model.CommentModel;

import java.util.List;
import java.util.Map;

/**
 * @author: 吴磊
 * @program: blog
 * @create: 2021-04-19 20:30
 */
public interface CommentsService extends IService<Comments> {

    /**
     * 添加评论
     *
     * @param type            评论类型 如果是直接评论的博客：blog ,如果是回复：user
     * @param articleId       被评论的博客Id，不管是不是一级评论都要传，方便查询
     * @param parentCommentId 父评论Id
     * @param commentContent  评论的内容
     */
    Map<String, Object> addComment(String type, String articleId, String parentCommentId, String commentContent);


    /**
     * 通过文章Id获取评论
     *
     * @param articleId
     * @return
     */
    List<CommentModel> getAllCommentByArticleId(String articleId);

    /**
     * 通过评论Id删除评论及子评论
     *
     * @param commentId
     * @return
     */
    Map<String, Object> deleteCommentsByCommentId(String commentId);

    /**
     * 通过评论id  pass  评论
     *
     * @param commentId
     * @return
     */
    void passCommentByCommentId(String commentId);

    /**
     * 通过评论id  pass  评论
     *
     * @param commentId
     * @return
     */
    void notPassCommentByCommentId(String commentId);

    /**
     * 通过用户Id查询他的最新评论
     *
     * @param userId
     * @return
     */
    Map<String, Object> getNewComments(String userId);
}
